home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / convrtrs / pbmplus / texts.lha / README.AMIGA < prev    next >
Text File  |  1993-12-09  |  4KB  |  89 lines

  1. BINARIES
  2. --------
  3. Amiga binaries are available from ftp.informatik.uni-oldenburg.de
  4. [134.106.1.9], /pub/netpbm/amiga. AmiNet will probably carry them too,
  5. look under /pub/aminet/gfx/pbm at your nearest AmiNet mirror.
  6.  
  7.  
  8. COMPILATION
  9. -----------
  10. The Makefile.amiga files in the pbm, pgm, ppm and pnm subdirs are set up
  11. for compilation with DICE (reg-version).  Compilation requires about 2MB
  12. RAM (4MB if you want to compile libtiff), 6MB of HD space, and takes about
  13. 45 minutes on a 25MHz 68030 (A2500/30).  If you want to recompile with SAS/C
  14. or GCC, you must edit pbmplus.h and the Makefiles.  Compile the pbm stuff
  15. first, then pgm, ppm, and pnm last.  The tiff library is only needed for
  16. tifftopnm and pnmtotiff.
  17.  
  18. The following symbols should be set in pbmplus.h:
  19.  
  20. A_SMALLSTACK
  21.   Moves large arrays off the stack into globals.
  22.  
  23. A_FRAGARRAY
  24.    with this define, pm_allocarray() tries to allocate an array row-by-row,
  25.    if the first malloc(all-in-one-big-chunk) fails.  Useful for micros
  26.    without VM, where it is possible that there is enough memory, but it is
  27.    fragmented.
  28.  
  29. A_RGBENV
  30.    If this define is used, RGB_DB (see pbmplus.h) defines the name of an
  31.    an environment variable that holds the path&name of the X11 color names
  32.    file, instead of compiling a fixed path into the programs.  So instead of
  33.    looking for e.g. "/usr/lib/X11/rgb.def", an environment variable (I took
  34.    "RGBDEF") is consulted for the path&name of the X11 names file.
  35.  
  36. A_STRERROR
  37.    if your library uses strerror() instead of sys_errlist[]
  38.  
  39.  
  40. Here is a short explanations of compiler options used in the DICE Makefiles:
  41.  
  42.     -O0         place object files in current dir, not temporary dir
  43.     -E xxx      write error messages into file xxx
  44.     -T xxx      use directory xxx for temporary files
  45.     -ms         place strings constants in read-only code hunk
  46.     -mu         unix-compat, if there are two definitions for the
  47.                 same variable (at the same scope), merge them into one
  48.     -gs         generate stack-checking code (see pbmplus.h: whenever available
  49.                 stack falls below _stack_fudge, allocate a new stack of size
  50.                 _stack_chunk)
  51.     -proto      strict prototype checking
  52.     -mRR        functions take their args in registers (requires full prototyping)
  53.     -mD         large data model (absolute addressing instead of A4-rel)
  54.     -mC         large code model (absolute addressing instead of PC-rel)
  55.     -r          generate "pure" executable (no -mD and -mC allowed)
  56.     -S          alternate library section naming (used for link libs only)
  57.  
  58.  
  59. Naming conventions in the Makefiles:
  60.  
  61.     RLIBP?M     small data library, args in registers
  62.     RLLIBP?M    large data library, args in registers
  63.     SLIBP?M     small data library, args on stack
  64.     SLLIB?M     large data library, args on stack
  65.  
  66.     RALLCFLAGS  options to compile register-args executables
  67.     SALLCFLAGS  options to compile stack-args executables
  68.  
  69.     BINS        small data executables, register-args
  70.     LBINS       large data executables, register-args
  71.     SBINS       small data executables, stack-args
  72.     SLBINS      large data executables, stack-args
  73.  
  74.     MATHBINS    \
  75.     LMATHBINS    \  same as above, but need floating-point
  76.     SMATHBINS    /  version of printf/scanf (link with math-lib)
  77.     SLMATHBINS  /
  78.  
  79. I tried to use small data/reg-args whenever possible.  Some programs
  80. had to be compiled with large data, and some with stack-args or the
  81. compiler would complain.  If you are not using DICE, you might want to
  82. try to compile these with small data/reg-args first, maybe your compiler
  83. accepts this.
  84.  
  85.  
  86. -Ingo
  87. email: Ingo.Wilken@informatik.uni-oldenburg.de
  88.  
  89.